2.6.8 - Pozice ramene
Pro definování pozice ramene máme k dispozici dva datové typy. Typ joint
určuje pozici ramene podle úhlu rotace jednotlivých os robota. Typ point
udává pozici v kartézských souřadnicích.
Dále jsou k dispozici typy frame, tool a config. Typ frame
slouží k nastavení pracovní oblasti ramene a jeho geometrie. Typ tool
popisuje nástroj, jeho geometrii a nastavuje také rychlost ramene. A typ config
popisuje složitější koncept konfigurace ramene.
Typ joint
Typ joint definuje pozici každé osy ramene ve stupních podle úhlu
rotace. Jedná se o strukturovaný typ, respektivě o pole velikosti 6. První
4 pozice jsou určeny k nastavení úhlu jednotlivých os a další dvě jsou pro
robota RS40B nevyužity, protože má pouze 4 osy.
Stejně jako u jednoduchách datových typů, lze i datové typy joint mezi
sebou vzájemě porovnávat zda se rovnají, jsou větší či menší, nebo je zvájemě
sčítat a odčítat.
Příkazy
Aktuální poziceVrátí aktuální pozici ramene.
Absolutní pozice
Vrací absolutní hodnotu pozice jPozition. To lze využít například pro testování zda je rameno v blízkosti některého bodu.
příkladjMaxDistance = {5, 5, 5, 5, 0, 0}
j = herej()
//zjistí zda jsou všechny osy méně než 5 stupňů od referenční pozice
if(!(abs(j - jReference) < jMaxDistance))
popUpMsg("Rameno je prilis vzdaleno od referencni pozice!")
endIf
Rozsah
Testuje, zda je pozice bodu jPozition v softwarovém rozsahu ramene. Pokud je pozice ramene mimo softwarový rozsah ramene, nemůže rameno vykonávat pohyb pomocí VAL3 příkazů a musí být manuálně přesunuto opět do pozice, které je v softwarovém rozsahu.
příkladif isInRange(herej())==false
popUpMsg("Presunte rameno zpet do pracovni oblasti ramene.")
endIf
Typ frame
Typ frame slouží k definování pozice referenčních rámů v pracovním prostoru. Typ frame je strukturovaný typ s jedním přístupným polem.
Referenční rám je vždy definován při jeho inicializaci. Rám word je vždy definován ve VAL3 aplikaci. Referenční rám je vždy spojen s rámem word, ať už přímo nebo prostřednictvím jiných rámů.
Příklad propojení jednotlivých referenčních rámů.
Použití
Použití referenčních rámů je doporučeno v následujících situacích:
- Pro intuitivnější přehled bodů v aplikaci
- Pro rychlejší aktualizaci souboru bodů
Jsou-li body aplikace spojeny s objektem, je vhodné stanovit rám pro daný objekt a propojit VAL3 body s rámem. Je-li objekt přesunout, jednoduše přeučíte rám, aby všechny body v rámu býly upraveny ve stejném čase.
Příkazy
Nastavení rámuVypočítá souřadnice rámu fResult z počátku jeho bodu pOrigin, bodu pAxisOn a bodu pPlaneOxy.
Návratové hodnoty funkce jsou:
0: Žádná chyba
-1: Bod pAxisOx je příliš blízko počátku
-2: Bod pAxisOxy je příliš blízko bodu pAxisOx
Pozice rámu
Vrací souřadnice rámu tFrame v referenčním rámu fReference.
Typ tool
Typ tool slouží k definování geometrie nástroje a jeho akcí. Jedná se o strukturovaný typ. Základní nástroj proměnné tool je definován při jeho inicializaci. Nástroj flange je vždy definován ve VAL3 aplikaci, pro typ tool. Každý nástroj tool je spojený s nástrojem flange, a to buď přímo nebo prostřednictvím jiného nástroje.
Výstupem nástroje je implicitně systémový výstup io:valve1, čas pro zavření a otevření čelistí je 0 a základní nástroj je flange.
Použití nástrojů v aplikaci je doporučeno zejména v následujících případech:
- Pro kontrolu rychlosti pohybu: Během manuálního nebo programového pohybu systém kontroluje rychlost nástroje.
- Pro přístup do jednoho bodu s různými nástroji
- Pro kontrolu nástroje a jeho změnu: Pro aktualizaci pozice ramene stačí pouze upravit geometrické souřadnice nástroje.
Operátory, které lze využít pro tento typ jsou 3. Přiřazení hodnoty ("="), porovnání dvou typů tool ("==") a test nerovnosti ("!=").
Příkazy
Otevření nástrojeOtevírá čelisti nástroje tTool tím, že nastaví hodnotu jejich výstupu na
true. Před otevřením nástroje, systém čeká na dokončení pohybu ramene (podobně
jako příkaz waitEndMove.
Tato instrukce nezajišťuje, že bude pozice ramene stabilizována v jeho finální
pozici, předtím než je nástroj aktivován. Pokud je potřeba čekat na dokončení
stabilizace pohybu, lze využít instrukce isSettled.
Zavření nástroje
Zavře čelisti nástroje tTool nastavením hodnoty jejich výstupu na false.
Před zavřením nástroje systém čeká na dokončení pohybu ramene (podobně
jako příkaz waitEndMove.
Tato instrukce nezajišťuje, že bude pozice ramene stabilizována v jeho finální
pozici, předtím než je nástroj aktivován. Pokud je potřeba čekat na dokončení
stabilizace pohybu, lze využít instrukce isSettled.
Pozice
Tato instrukce vrací souřadnice nástroje tTool do referenčního nástroje tReference. Chyba je generována pokud tTool nebo tReference nemají žádné referenční rámy.
Typ point
Typ point se používá pro definování pozice a orientace robota. Jedná se o strukturovaný typ. Referenční rám typu point je typu frame, který je definován při inicializaci. Každý bod typu point musí mít referenční rám, jinak je generována chyba.
Varonání
Typ point nemá defaultně přiřazen žádný rám, před jeho použitím proto musí být inicializován z jiného bodu.Příkazy
Vzdálenost mezi bodyTato instrukce vrací zzdálenost bodů pPosition1 a pPosition2, pokud jeden z bodů nemá žádný referenční rám, je generována chyba.
Geometrická transformace
Vrací pPosition s referenčním rámem fReference, na který byla aplikována geometrická transformace trTransformation. Pokud pPosition nemá žádný referenční rám, je generována chyba.
appro
Tato instrukce vrací upravený bod pPosition pomocí geometrické transformace trTransformation. Transformace je definovaná relativně na referenční rám bodu pPosition.
Příkladpoint q
q = appro(p, { 0, 0, -100, 0, 0, 0 })
Instrukce appro přiřadí bodu q bod p, posunutý na ose z o 100mm.
Aktuální pozice
Vrací aktuální pozici nástroje tTool v referenčním rámu fReference.
Aktuální transformace
Vrací souřadnice pPosition v referenčním rámu fReference. Pokud nemá pPosition žádný referenční rám, je generována chyba.
Převod bodu joint na bod point
Vrací pozici nástroje tTool v referenčním rámu fReference, kde rameno má pozici jPosition typu joint. Návratový referenční rám je fReference.
Převod bodu point na bod joint
Tato instrukce přepočítá pozici pPosition na odpovídající pozici jResult typu joint. Instrukce vrací true, pokud byla aktualizována hodnota jResult nebo vrací false pokud se nepovedlo bod převést.
RS40B - uživatelský manuál